package com.ruoyi.api.event;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 交易记录事件
 */
public class TransactionEvent {
    /** 事件类型 */
    private EventType eventType;
    
    /** 交易记录ID */
    private Long transactionId;
    
    /** 交易编号 */
    private String transactionNo;
    
    /** 账户ID */
    private Long accountId;
    
    /** 交易金额 */
    private BigDecimal amount;
    
    /** 交易类型（1:收入 2:支出） */
    private Long type;
    
    /** 交易日期 */
    private Date transactionDate;
    
    /** 交易描述 */
    private String description;
    
    /** 来源类型 */
    private String sourceType;
    
    /** 来源ID */
    private Long sourceId;
    
    public TransactionEvent() {
    }
    
    public TransactionEvent(EventType eventType, Long transactionId, String transactionNo, Long accountId, 
            BigDecimal amount, Long type, Date transactionDate, String description, 
            String sourceType, Long sourceId) {
        this.eventType = eventType;
        this.transactionId = transactionId;
        this.transactionNo = transactionNo;
        this.accountId = accountId;
        this.amount = amount;
        this.type = type;
        this.transactionDate = transactionDate;
        this.description = description;
        this.sourceType = sourceType;
        this.sourceId = sourceId;
    }

    public EventType getEventType() {
        return eventType;
    }

    public void setEventType(EventType eventType) {
        this.eventType = eventType;
    }

    public Long getTransactionId() {
        return transactionId;
    }

    public void setTransactionId(Long transactionId) {
        this.transactionId = transactionId;
    }

    public String getTransactionNo() {
        return transactionNo;
    }

    public void setTransactionNo(String transactionNo) {
        this.transactionNo = transactionNo;
    }

    public Long getAccountId() {
        return accountId;
    }

    public void setAccountId(Long accountId) {
        this.accountId = accountId;
    }

    public BigDecimal getAmount() {
        return amount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    public Long getType() {
        return type;
    }

    public void setType(Long type) {
        this.type = type;
    }

    public Date getTransactionDate() {
        return transactionDate;
    }

    public void setTransactionDate(Date transactionDate) {
        this.transactionDate = transactionDate;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getSourceType() {
        return sourceType;
    }

    public void setSourceType(String sourceType) {
        this.sourceType = sourceType;
    }

    public Long getSourceId() {
        return sourceId;
    }

    public void setSourceId(Long sourceId) {
        this.sourceId = sourceId;
    }
} 